package co.edu.usbcali.unidades.modelo.dto;

import co.edu.usbcali.unidades.modelo.ZonaExtra;
import co.edu.usbcali.unidades.presentation.backingBeans.ZonaExtraView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;

/**
 * 
 * 
 * @author Zathura Code Generator http://code.google.com/p/zathura
 * 
 */
public class ZonaExtraDTO implements Serializable {
	private static final long serialVersionUID = 1L;
	private String zneDimension;
	private String zneValor;
	private String estCodigo_Estado;
	private String inmCodigo_Inmueble;
	private String tzeCodigo_TipoZonaExtra;
	private String zneCodigo;
	private boolean rowSelected = false;
	private ZonaExtraView zonaExtraView;
	private ZonaExtra zonaExtra;

	private String estado = "false";
	private String btnActivar = "true";
	private String tipoZonaNombre = "";
	private String inmNumero = "";
	private String divNombre = "";
	private String estadoNombre = "";

	public ZonaExtra getZonaExtra() {
		return zonaExtra;
	}

	public String listener_update(ActionEvent e) {
		try {
			zonaExtraView
					.action_modifyWitDTO(
							((zneCodigo == null) || zneCodigo.equals("")) ? null
									: new String(zneCodigo),
							((zneDimension == null) || zneDimension.equals("")) ? null
									: new Long(zneDimension),
							((zneValor == null) || zneValor.equals("")) ? null
									: new Long(zneValor),
							((estCodigo_Estado == null) || estCodigo_Estado
									.equals("")) ? null : new String(
									estCodigo_Estado),
							((inmCodigo_Inmueble == null) || inmCodigo_Inmueble
									.equals("")) ? null : new String(
									inmCodigo_Inmueble),
							((tzeCodigo_TipoZonaExtra == null) || tzeCodigo_TipoZonaExtra
									.equals("")) ? null : new String(
									tzeCodigo_TipoZonaExtra));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}

	public String listener_delete(ActionEvent e) {
		try {
			zonaExtraView
					.action_modifyWitDTO(
							((zneCodigo == null) || zneCodigo.equals("")) ? null
									: new String(zneCodigo),
							((zneDimension == null) || zneDimension.equals("")) ? zonaExtra
									.getZneDimension()
									: new Long(zonaExtra.getZneDimension()),
							((zneValor == null) || zneValor.equals("")) ? null
									: new Long(zneValor),
							((estCodigo_Estado == null) || estCodigo_Estado
									.equals("")) ? null : new String("2"),
							((inmCodigo_Inmueble == null) || inmCodigo_Inmueble
									.equals("")) ? null : new String(
									inmCodigo_Inmueble),
							((tzeCodigo_TipoZonaExtra == null) || tzeCodigo_TipoZonaExtra
									.equals("")) ? null : new String(
									tzeCodigo_TipoZonaExtra));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}
	
	
	public String listener_activar(ActionEvent e) {
		try {
			zonaExtraView
					.action_modifyWitDTO(
							((zneCodigo == null) || zneCodigo.equals("")) ? null
									: new String(zneCodigo),
							((zneDimension == null) || zneDimension.equals("")) ? zonaExtra
									.getZneDimension()
									: new Long(zonaExtra.getZneDimension()),
							((zneValor == null) || zneValor.equals("")) ? null
									: new Long(zneValor),
							((estCodigo_Estado == null) || estCodigo_Estado
									.equals("")) ? null : new String("1"),
							((inmCodigo_Inmueble == null) || inmCodigo_Inmueble
									.equals("")) ? null : new String(
									inmCodigo_Inmueble),
							((tzeCodigo_TipoZonaExtra == null) || tzeCodigo_TipoZonaExtra
									.equals("")) ? null : new String(
									tzeCodigo_TipoZonaExtra));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}

	public void listener_cancel(ActionEvent e) {
		zneCodigo = zonaExtra.getZneCodigo().toString();
		zneDimension = (zonaExtra.getZneDimension() != null) ? zonaExtra
				.getZneDimension().toString() : null;
		zneValor = (zonaExtra.getZneValor() != null) ? zonaExtra.getZneValor()
				.toString() : null;
		estCodigo_Estado = (zonaExtra.getEstado().getEstCodigo() != null) ? zonaExtra
				.getEstado().getEstCodigo().toString()
				: null;
		inmCodigo_Inmueble = (zonaExtra.getInmueble().getInmCodigo() != null) ? zonaExtra
				.getInmueble().getInmCodigo().toString()
				: null;
		tzeCodigo_TipoZonaExtra = (zonaExtra.getTipoZonaExtra().getTzeCodigo() != null) ? zonaExtra
				.getTipoZonaExtra().getTzeCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	public void listener_estado() {
		if (estCodigo_Estado.equals("2")) {
			estado = "false";
		} else {
			estado = "true";
			btnActivar = "false";
		}
	}

	/**
	 * <p>
	 * Bound to commandLink actionListener in the ui that renders/unrenders the
	 * Object details for editing.
	 * </p>
	 */
	public void toggleSelected(ActionEvent e) {
		listener_estado();
		zneCodigo = zonaExtra.getZneCodigo().toString();
		zneDimension = (zonaExtra.getZneDimension() != null) ? zonaExtra
				.getZneDimension().toString() : null;
		zneValor = (zonaExtra.getZneValor() != null) ? zonaExtra.getZneValor()
				.toString() : null;
		estCodigo_Estado = (zonaExtra.getEstado().getEstCodigo() != null) ? zonaExtra
				.getEstado().getEstCodigo().toString()
				: null;
		inmCodigo_Inmueble = (zonaExtra.getInmueble().getInmCodigo() != null) ? zonaExtra
				.getInmueble().getInmCodigo().toString()
				: null;
		tzeCodigo_TipoZonaExtra = (zonaExtra.getTipoZonaExtra().getTzeCodigo() != null) ? zonaExtra
				.getTipoZonaExtra().getTzeCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	public void setZonaExtra(ZonaExtra zonaExtra) {
		this.zonaExtra = zonaExtra;
	}

	public ZonaExtraView getZonaExtraView() {
		return zonaExtraView;
	}

	public void setZonaExtraView(ZonaExtraView zonaExtraView) {
		this.zonaExtraView = zonaExtraView;
	}

	public String getZneDimension() {
		return zneDimension;
	}

	public void setZneDimension(String zneDimension) {
		this.zneDimension = zneDimension;
	}

	public String getZneValor() {
		return zneValor;
	}

	public void setZneValor(String zneValor) {
		this.zneValor = zneValor;
	}

	public String getEstCodigo_Estado() {
		return estCodigo_Estado;
	}

	public void setEstCodigo_Estado(String estCodigo_Estado) {
		this.estCodigo_Estado = estCodigo_Estado;
	}

	public String getInmCodigo_Inmueble() {
		return inmCodigo_Inmueble;
	}

	public void setInmCodigo_Inmueble(String inmCodigo_Inmueble) {
		this.inmCodigo_Inmueble = inmCodigo_Inmueble;
	}

	public String getTzeCodigo_TipoZonaExtra() {
		return tzeCodigo_TipoZonaExtra;
	}

	public void setTzeCodigo_TipoZonaExtra(String tzeCodigo_TipoZonaExtra) {
		this.tzeCodigo_TipoZonaExtra = tzeCodigo_TipoZonaExtra;
	}

	public String getZneCodigo() {
		return zneCodigo;
	}

	public void setZneCodigo(String zneCodigo) {
		this.zneCodigo = zneCodigo;
	}

	public boolean isRowSelected() {
		return rowSelected;
	}

	public void setRowSelected(boolean rowSelected) {
		this.rowSelected = rowSelected;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getBtnActivar() {
		return btnActivar;
	}

	public void setBtnActivar(String btnActivar) {
		this.btnActivar = btnActivar;
	}

	public String getTipoZonaNombre() {
		return tipoZonaNombre;
	}

	public void setTipoZonaNombre(String tipoZonaNombre) {
		this.tipoZonaNombre = tipoZonaNombre;
	}

	public String getInmNumero() {
		inmNumero = zonaExtra.getInmueble().getInmNumeroId();
		return inmNumero;
	}

	public void setInmNumero(String inmNumero) {
		this.inmNumero = inmNumero;
	}

	public String getDivNombre() {
		divNombre = zonaExtra.getInmueble().getDivision().getDivNombre();
		return divNombre;
	}

	public void setDivNombre(String divNombre) {
		this.divNombre = divNombre;
	}

	public String getEstadoNombre() {
		estadoNombre = zonaExtra.getEstado().getEstNombre();
		return estadoNombre;
	}

	public void setEstadoNombre(String estadoNombre) {
		this.estadoNombre = estadoNombre;
	}

}
